home *** CD-ROM | disk | FTP | other *** search
- /**
- GRAB Graph Layout and Browser System
-
- Copyright (c) 1986, 1988 Regents of the University of California
- Copyright (c) 1989, Tera Computer Company
- **/
-
- /* globals.h - includes all global variables and some defines */
-
- #ifndef globals_h
- #define globals_h
-
- #include "screen.h"
- #include "digraph.h"
- #include "attribute.h"
-
- SCREEN screen; /* graph display info */
- SCREEN sizeToFitInfo; /* info for sizeToFit command */
- DIGRAPH *digraph; /* the digraph data structure */
- char *name; /* graph file name */
-
- float panGradient; /* current pan gradient */
- float zoomGradient; /* current zoom gradient */
- double aspratio; /* aspect ratio for gremlin output */
- int currMode; /* in browse, edit, or change mode */
- int stopInLayout; /* stop in various phases of grapy layout */
-
- float immedPercent; /* percentage of BC from immed. pred/succ */
-
- BOOL showbc; /* showbc flag */
- BOOL graphChanged; /* true if graph has been altered since last
- written/read */
- BOOL ckpt_done; /* true if graph has *not* been altered since last
- checkpoint */
- BOOL Text_Flag; /* true if enough room to draw text */
- BOOL changeOutEdges; /* true if want to change out edges */
- BOOL changeInEdges; /* true if want to change in edges */
- BOOL printNodeLabel; /* print node labels regardless of whether they fit
- or not */
- BOOL printEdgeLabel; /* whether to print edge labels at all */
- BOOL markDummyNodes; /* mark dummy nodes when displaying it */
- BOOL inChangeTextMode; /* tells whether we are in change text mode */
- BOOL inChangeEdgeLabelMode;/* tells whether we are in midst of change label */
- BOOL inFocusNodeMode; /* tells whether we are in midst of focussing on a
- node */
- BOOL printLayoutTime; /* print time stats on graph layout */
- BOOL printArrow; /* print arrow on edges? */
- BOOL landscapePSFile; /* postscript file in landscape mode
- (rotated 90 degrees)? */
- BOOL straightenEdges; /* when trying to straighten edges, go all out? */
- BOOL ignoreHidden; /* if a node/edge isn't `displayed', do predicates
- apply to it? */
-
- BOOL debug; /* overall debug flag */
- BOOL debug1; /* debug flag for proper.c */
- BOOL debug2; /* debug flag for mincross.c */
- BOOL debug3; /* debug flag for layout.c */
-
- BOOL read_graph();
-
- #define MAX_HEURISTIC 20
- BOOL heuristic[MAX_HEURISTIC]; /* heuristic flags */
-
- #define MIN_ABS_X_SIZE 4000
- #define MIN_ABS_Y_SIZE 4000
-
- #define IN_EDIT_MODE 0
- #define IN_BROWSE_MODE 1
- #define IN_CHANGE_MODE 2
-
- #define DONT_STOP 0
- #define STOP_AFTER_MAKEPROPER 1
- #define STOP_AFTER_MIN_CROSSING 2
-
- #define BOLD 0
- #define UNBOLD 1
-
- #define DIVIDING_LINE_HEIGHT 8
- #define NAME_LINE_HEIGHT 1
- #define STATUS_LINE_HEIGHT 2
- #define MENU_LINE_HEIGHT 2.5
- #define INFO_LINES_HEIGHT 3.5
-
- #define BORDER_SIZE 5
- #define ALRM_SEC 1
- #define ARROW_X_DIST_FACTOR 0.15
- #define ARROW_Y_DIST_FACTOR 0.07
-
- #define MAXSTR 256
- #define MAXLINE 80
-
- #endif
-